package eva.savant.business.material.view

import eva.savant.business.material.service.TSKardex
import eva.savant.businessobject.mt.Almacenero
import eva.savant.businessobject.mt.Movimiento

import javax.faces.bean.ManagedBean
import javax.faces.bean.SessionScoped
import javax.annotation.PostConstruct

@SessionScoped
@ManagedBean(name = 'ITAnularMovimiento')
public class ITAnularMovimiento extends Bean {

  Date dateIni, dateEnd

  @PostConstruct
  public void cleanEntity() {

    dateIni= dateEnd= new Date()

    entity= new Movimiento()
  }

  public List findLsEntity() {

    def a= get(Almacenero,'usuario.id=?',usuario.id)

    if(a == null) { addErrorMessage 'El usuario no esta registrado como almacenero'; return null }


    return find(Movimiento.class,'almacenero.id=? and fecha between ? and ?',a.id,toStartDay(dateIni),toMidnight(dateEnd))
  }

  public void editEntity(Object id) {

    entity= get(Movimiento.class,id)

    isRead= entity.motivo.id == TSKardex.ANULADO
  }

  public boolean mergeEntity(Object entity) {

    def tsKardex= (TSKardex) getSpringBean('tsKardex')

    tsKardex.anularMovimiento(entity.id)
  }

}
